home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / v9n17.arc / METACLIP.C < prev    next >
Text File  |  1990-09-12  |  1KB  |  44 lines

  1. /*----------------------------------------------------------------
  2.    METACLIP.C -- Replacement ClientWndProc for METAFILE.C.
  3.                  Demonstrates using the clipboard with metafiles.
  4.                  (Remember to define INCL_WIN in METAFILE.C!)
  5.  
  6.                  (c) Ziff Communications Co, 1990
  7.                  PC Magazine * Charles Petzold, 6/90
  8.   ----------------------------------------------------------------*/
  9.  
  10. MRESULT EXPENTRY ClientWndProc (HWND hwnd, USHORT msg, MPARAM mp1, MPARAM mp2)
  11.      {
  12.      HMF hmf ;
  13.      HPS hps ;
  14.  
  15.      switch (msg)
  16.           {
  17.           case WM_CREATE:
  18.                hmf = CreateMetaFile () ;
  19.  
  20.                WinOpenClipbrd (hab) ;
  21.                WinEmptyClipbrd (hab) ;  
  22.                WinSetClipbrdData (hab, (ULONG) hmf, CF_METAFILE, CFI_HANDLE) ;
  23.                WinCloseClipbrd (hab) ;
  24.  
  25.                return 0 ;
  26.  
  27.           case WM_PAINT:
  28.                hps = WinBeginPaint (hwnd, NULL, NULL) ;
  29.                GpiErase (hps) ;
  30.  
  31.                WinOpenClipbrd (hab) ;
  32.                hmf = (HMF) WinQueryClipbrdData (hab, CF_METAFILE) ;
  33.  
  34.                if (hmf != NULL)
  35.                     GpiPlayMetaFile (hps, hmf, 0L, NULL, NULL, 0L, NULL) ;
  36.  
  37.                WinCloseClipbrd (hab) ;
  38.  
  39.                WinEndPaint (hps) ;
  40.                return 0 ;
  41.           }
  42.      return WinDefWindowProc (hwnd, msg, mp1, mp2) ;
  43.      }
  44.